/**
 * Copyright (c) 2015-2017, Henry Yang 杨勇 (gismail@foxmail.com).
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.mapfinal.portal.model.sql;

import com.lambkit.db.sql.ConditionMode;
import com.lambkit.db.sql.column.Column;
import com.lambkit.db.sql.column.Columns;
import com.lambkit.db.sql.column.Example;

import java.io.Serializable;
import java.util.List;

/**
 * @author yangyong 
 * @website: www.lambkit.com
 * @email: gismail@foxmail.com
 * @date 2019-05-23
 * @version 1.0
 * @since 1.0
 */
public class AttachmentCriteria extends Columns implements Serializable {
	private static final long serialVersionUID = 1L;
	
	public static AttachmentCriteria create() {
		return new AttachmentCriteria();
	}
	
	public static AttachmentCriteria create(Column column) {
		AttachmentCriteria that = new AttachmentCriteria();
		that.add(column);
        return that;
    }

    public static AttachmentCriteria create(String name, Object value) {
        return (AttachmentCriteria) create().eq(name, value);
    }
    
    public Example example() {
    	return Example.create("cms_attachment", this);
    }
    
    /**
     * equals
     *
     * @param name
     * @param value
     * @return
     */
    public AttachmentCriteria eq(String name, Object value) {
    	super.eq(name, value);
        return this;
    }

    /**
     * not equals !=
     *
     * @param name
     * @param value
     * @return
     */
    public AttachmentCriteria ne(String name, Object value) {
    	super.ne(name, value);
        return this;
    }


    /**
     * like
     *
     * @param name
     * @param value
     * @return
     */

    public AttachmentCriteria like(String name, Object value) {
    	super.like(name, value);
        return this;
    }
    
    public AttachmentCriteria notLike(String name, Object value) {
    	super.notLike(name, value);
        return this;
    }

    /**
     * 大于 great than
     *
     * @param name
     * @param value
     * @return
     */
    public AttachmentCriteria gt(String name, Object value) {
    	super.gt(name, value);
        return this;
    }

    /**
     * 大于等于 great or equal
     *
     * @param name
     * @param value
     * @return
     */
    public AttachmentCriteria ge(String name, Object value) {
    	super.ge(name, value);
        return this;
    }

    /**
     * 小于 less than
     *
     * @param name
     * @param value
     * @return
     */
    public AttachmentCriteria lt(String name, Object value) {
    	super.lt(name, value);
        return this;
    }

    /**
     * 小于等于 less or equal
     *
     * @param name
     * @param value
     * @return
     */
    public AttachmentCriteria le(String name, Object value) {
    	super.le(name, value);
        return this;
    }
    
    public AttachmentCriteria isnull(String name) {
    	super.isnull(name);
        return this;
    } 

    public AttachmentCriteria notNull(String name) {
    	super.notNull(name);
        return this;
    } 
    
    public AttachmentCriteria empty(String name) {
    	super.empty(name);
        return this;
    } 
    
    public AttachmentCriteria notEmpty(String name) {
    	super.notEmpty(name);
        return this;
    } 
    
    public AttachmentCriteria add(Column column) {
    	super.add(column);
    	return this;
    }
    
    /**************************/
	
	public void addCriterion(String name, Object value, ConditionMode logic, String property, String typeHandler, String valueType) {
		 if (value == null) {
			 throw new RuntimeException("Value for " + property + " cannot be null");
		 }
		 add(Column.create(name, value, logic, typeHandler, valueType));
	}
   
	public void addCriterion(String name, Object value1, Object value2, ConditionMode logic, String property, String typeHandler, String valueType) {
		 if (value1 == null || value2 == null) {
			 throw new RuntimeException("Between values for " + property + " cannot be null");
		 }
		 add(Column.create(name, value1, value2, logic, typeHandler, valueType));
	}
		 
	public AttachmentCriteria andIdIsNull() {
		isnull("id");
		return this;
	}
	
	public AttachmentCriteria andIdIsNotNull() {
		notNull("id");
		return this;
	}
	
	public AttachmentCriteria andIdIsEmpty() {
		empty("id");
		return this;
	}

	public AttachmentCriteria andIdIsNotEmpty() {
		notEmpty("id");
		return this;
	}
       public AttachmentCriteria andIdEqualTo(java.lang.Long value) {
          addCriterion("id", value, ConditionMode.EQUAL, "id", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andIdNotEqualTo(java.lang.Long value) {
          addCriterion("id", value, ConditionMode.NOT_EQUAL, "id", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andIdGreaterThan(java.lang.Long value) {
          addCriterion("id", value, ConditionMode.GREATER_THEN, "id", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andIdGreaterThanOrEqualTo(java.lang.Long value) {
          addCriterion("id", value, ConditionMode.GREATER_EQUAL, "id", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andIdLessThan(java.lang.Long value) {
          addCriterion("id", value, ConditionMode.LESS_THEN, "id", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andIdLessThanOrEqualTo(java.lang.Long value) {
          addCriterion("id", value, ConditionMode.LESS_EQUAL, "id", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andIdBetween(java.lang.Long value1, java.lang.Long value2) {
    	  addCriterion("id", value1, value2, ConditionMode.BETWEEN, "id", "java.lang.Long", "Float");
    	  return this;
      }

      public AttachmentCriteria andIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
          addCriterion("id", value1, value2, ConditionMode.NOT_BETWEEN, "id", "java.lang.Long", "Float");
          return this;
      }
        
      public AttachmentCriteria andIdIn(List<java.lang.Long> values) {
          addCriterion("id", values, ConditionMode.IN, "id", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andIdNotIn(List<java.lang.Long> values) {
          addCriterion("id", values, ConditionMode.NOT_IN, "id", "java.lang.Long", "Float");
          return this;
      }
	public AttachmentCriteria andUserIdIsNull() {
		isnull("user_id");
		return this;
	}
	
	public AttachmentCriteria andUserIdIsNotNull() {
		notNull("user_id");
		return this;
	}
	
	public AttachmentCriteria andUserIdIsEmpty() {
		empty("user_id");
		return this;
	}

	public AttachmentCriteria andUserIdIsNotEmpty() {
		notEmpty("user_id");
		return this;
	}
       public AttachmentCriteria andUserIdEqualTo(java.lang.Long value) {
          addCriterion("user_id", value, ConditionMode.EQUAL, "userId", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andUserIdNotEqualTo(java.lang.Long value) {
          addCriterion("user_id", value, ConditionMode.NOT_EQUAL, "userId", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andUserIdGreaterThan(java.lang.Long value) {
          addCriterion("user_id", value, ConditionMode.GREATER_THEN, "userId", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andUserIdGreaterThanOrEqualTo(java.lang.Long value) {
          addCriterion("user_id", value, ConditionMode.GREATER_EQUAL, "userId", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andUserIdLessThan(java.lang.Long value) {
          addCriterion("user_id", value, ConditionMode.LESS_THEN, "userId", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andUserIdLessThanOrEqualTo(java.lang.Long value) {
          addCriterion("user_id", value, ConditionMode.LESS_EQUAL, "userId", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andUserIdBetween(java.lang.Long value1, java.lang.Long value2) {
    	  addCriterion("user_id", value1, value2, ConditionMode.BETWEEN, "userId", "java.lang.Long", "Float");
    	  return this;
      }

      public AttachmentCriteria andUserIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
          addCriterion("user_id", value1, value2, ConditionMode.NOT_BETWEEN, "userId", "java.lang.Long", "Float");
          return this;
      }
        
      public AttachmentCriteria andUserIdIn(List<java.lang.Long> values) {
          addCriterion("user_id", values, ConditionMode.IN, "userId", "java.lang.Long", "Float");
          return this;
      }

      public AttachmentCriteria andUserIdNotIn(List<java.lang.Long> values) {
          addCriterion("user_id", values, ConditionMode.NOT_IN, "userId", "java.lang.Long", "Float");
          return this;
      }
	public AttachmentCriteria andTitleIsNull() {
		isnull("title");
		return this;
	}
	
	public AttachmentCriteria andTitleIsNotNull() {
		notNull("title");
		return this;
	}
	
	public AttachmentCriteria andTitleIsEmpty() {
		empty("title");
		return this;
	}

	public AttachmentCriteria andTitleIsNotEmpty() {
		notEmpty("title");
		return this;
	}
        public AttachmentCriteria andTitleLike(java.lang.String value) {
    	   addCriterion("title", value, ConditionMode.FUZZY, "title", "java.lang.String", "Float");
    	   return this;
      }

      public AttachmentCriteria andTitleNotLike(java.lang.String value) {
          addCriterion("title", value, ConditionMode.NOT_FUZZY, "title", "java.lang.String", "Float");
          return this;
      }
      public AttachmentCriteria andTitleEqualTo(java.lang.String value) {
          addCriterion("title", value, ConditionMode.EQUAL, "title", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTitleNotEqualTo(java.lang.String value) {
          addCriterion("title", value, ConditionMode.NOT_EQUAL, "title", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTitleGreaterThan(java.lang.String value) {
          addCriterion("title", value, ConditionMode.GREATER_THEN, "title", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTitleGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("title", value, ConditionMode.GREATER_EQUAL, "title", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTitleLessThan(java.lang.String value) {
          addCriterion("title", value, ConditionMode.LESS_THEN, "title", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTitleLessThanOrEqualTo(java.lang.String value) {
          addCriterion("title", value, ConditionMode.LESS_EQUAL, "title", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTitleBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("title", value1, value2, ConditionMode.BETWEEN, "title", "java.lang.String", "String");
    	  return this;
      }

      public AttachmentCriteria andTitleNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("title", value1, value2, ConditionMode.NOT_BETWEEN, "title", "java.lang.String", "String");
          return this;
      }
        
      public AttachmentCriteria andTitleIn(List<java.lang.String> values) {
          addCriterion("title", values, ConditionMode.IN, "title", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTitleNotIn(List<java.lang.String> values) {
          addCriterion("title", values, ConditionMode.NOT_IN, "title", "java.lang.String", "String");
          return this;
      }
	public AttachmentCriteria andDescriptionIsNull() {
		isnull("description");
		return this;
	}
	
	public AttachmentCriteria andDescriptionIsNotNull() {
		notNull("description");
		return this;
	}
	
	public AttachmentCriteria andDescriptionIsEmpty() {
		empty("description");
		return this;
	}

	public AttachmentCriteria andDescriptionIsNotEmpty() {
		notEmpty("description");
		return this;
	}
        public AttachmentCriteria andDescriptionLike(java.lang.String value) {
    	   addCriterion("description", value, ConditionMode.FUZZY, "description", "java.lang.String", "String");
    	   return this;
      }

      public AttachmentCriteria andDescriptionNotLike(java.lang.String value) {
          addCriterion("description", value, ConditionMode.NOT_FUZZY, "description", "java.lang.String", "String");
          return this;
      }
      public AttachmentCriteria andDescriptionEqualTo(java.lang.String value) {
          addCriterion("description", value, ConditionMode.EQUAL, "description", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andDescriptionNotEqualTo(java.lang.String value) {
          addCriterion("description", value, ConditionMode.NOT_EQUAL, "description", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andDescriptionGreaterThan(java.lang.String value) {
          addCriterion("description", value, ConditionMode.GREATER_THEN, "description", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andDescriptionGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("description", value, ConditionMode.GREATER_EQUAL, "description", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andDescriptionLessThan(java.lang.String value) {
          addCriterion("description", value, ConditionMode.LESS_THEN, "description", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andDescriptionLessThanOrEqualTo(java.lang.String value) {
          addCriterion("description", value, ConditionMode.LESS_EQUAL, "description", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andDescriptionBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("description", value1, value2, ConditionMode.BETWEEN, "description", "java.lang.String", "String");
    	  return this;
      }

      public AttachmentCriteria andDescriptionNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("description", value1, value2, ConditionMode.NOT_BETWEEN, "description", "java.lang.String", "String");
          return this;
      }
        
      public AttachmentCriteria andDescriptionIn(List<java.lang.String> values) {
          addCriterion("description", values, ConditionMode.IN, "description", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andDescriptionNotIn(List<java.lang.String> values) {
          addCriterion("description", values, ConditionMode.NOT_IN, "description", "java.lang.String", "String");
          return this;
      }
	public AttachmentCriteria andPathIsNull() {
		isnull("path");
		return this;
	}
	
	public AttachmentCriteria andPathIsNotNull() {
		notNull("path");
		return this;
	}
	
	public AttachmentCriteria andPathIsEmpty() {
		empty("path");
		return this;
	}

	public AttachmentCriteria andPathIsNotEmpty() {
		notEmpty("path");
		return this;
	}
        public AttachmentCriteria andPathLike(java.lang.String value) {
    	   addCriterion("path", value, ConditionMode.FUZZY, "path", "java.lang.String", "String");
    	   return this;
      }

      public AttachmentCriteria andPathNotLike(java.lang.String value) {
          addCriterion("path", value, ConditionMode.NOT_FUZZY, "path", "java.lang.String", "String");
          return this;
      }
      public AttachmentCriteria andPathEqualTo(java.lang.String value) {
          addCriterion("path", value, ConditionMode.EQUAL, "path", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andPathNotEqualTo(java.lang.String value) {
          addCriterion("path", value, ConditionMode.NOT_EQUAL, "path", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andPathGreaterThan(java.lang.String value) {
          addCriterion("path", value, ConditionMode.GREATER_THEN, "path", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andPathGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("path", value, ConditionMode.GREATER_EQUAL, "path", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andPathLessThan(java.lang.String value) {
          addCriterion("path", value, ConditionMode.LESS_THEN, "path", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andPathLessThanOrEqualTo(java.lang.String value) {
          addCriterion("path", value, ConditionMode.LESS_EQUAL, "path", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andPathBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("path", value1, value2, ConditionMode.BETWEEN, "path", "java.lang.String", "String");
    	  return this;
      }

      public AttachmentCriteria andPathNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("path", value1, value2, ConditionMode.NOT_BETWEEN, "path", "java.lang.String", "String");
          return this;
      }
        
      public AttachmentCriteria andPathIn(List<java.lang.String> values) {
          addCriterion("path", values, ConditionMode.IN, "path", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andPathNotIn(List<java.lang.String> values) {
          addCriterion("path", values, ConditionMode.NOT_IN, "path", "java.lang.String", "String");
          return this;
      }
	public AttachmentCriteria andMimeTypeIsNull() {
		isnull("mime_type");
		return this;
	}
	
	public AttachmentCriteria andMimeTypeIsNotNull() {
		notNull("mime_type");
		return this;
	}
	
	public AttachmentCriteria andMimeTypeIsEmpty() {
		empty("mime_type");
		return this;
	}

	public AttachmentCriteria andMimeTypeIsNotEmpty() {
		notEmpty("mime_type");
		return this;
	}
        public AttachmentCriteria andMimeTypeLike(java.lang.String value) {
    	   addCriterion("mime_type", value, ConditionMode.FUZZY, "mimeType", "java.lang.String", "String");
    	   return this;
      }

      public AttachmentCriteria andMimeTypeNotLike(java.lang.String value) {
          addCriterion("mime_type", value, ConditionMode.NOT_FUZZY, "mimeType", "java.lang.String", "String");
          return this;
      }
      public AttachmentCriteria andMimeTypeEqualTo(java.lang.String value) {
          addCriterion("mime_type", value, ConditionMode.EQUAL, "mimeType", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andMimeTypeNotEqualTo(java.lang.String value) {
          addCriterion("mime_type", value, ConditionMode.NOT_EQUAL, "mimeType", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andMimeTypeGreaterThan(java.lang.String value) {
          addCriterion("mime_type", value, ConditionMode.GREATER_THEN, "mimeType", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andMimeTypeGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("mime_type", value, ConditionMode.GREATER_EQUAL, "mimeType", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andMimeTypeLessThan(java.lang.String value) {
          addCriterion("mime_type", value, ConditionMode.LESS_THEN, "mimeType", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andMimeTypeLessThanOrEqualTo(java.lang.String value) {
          addCriterion("mime_type", value, ConditionMode.LESS_EQUAL, "mimeType", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andMimeTypeBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("mime_type", value1, value2, ConditionMode.BETWEEN, "mimeType", "java.lang.String", "String");
    	  return this;
      }

      public AttachmentCriteria andMimeTypeNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("mime_type", value1, value2, ConditionMode.NOT_BETWEEN, "mimeType", "java.lang.String", "String");
          return this;
      }
        
      public AttachmentCriteria andMimeTypeIn(List<java.lang.String> values) {
          addCriterion("mime_type", values, ConditionMode.IN, "mimeType", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andMimeTypeNotIn(List<java.lang.String> values) {
          addCriterion("mime_type", values, ConditionMode.NOT_IN, "mimeType", "java.lang.String", "String");
          return this;
      }
	public AttachmentCriteria andSuffixIsNull() {
		isnull("suffix");
		return this;
	}
	
	public AttachmentCriteria andSuffixIsNotNull() {
		notNull("suffix");
		return this;
	}
	
	public AttachmentCriteria andSuffixIsEmpty() {
		empty("suffix");
		return this;
	}

	public AttachmentCriteria andSuffixIsNotEmpty() {
		notEmpty("suffix");
		return this;
	}
        public AttachmentCriteria andSuffixLike(java.lang.String value) {
    	   addCriterion("suffix", value, ConditionMode.FUZZY, "suffix", "java.lang.String", "String");
    	   return this;
      }

      public AttachmentCriteria andSuffixNotLike(java.lang.String value) {
          addCriterion("suffix", value, ConditionMode.NOT_FUZZY, "suffix", "java.lang.String", "String");
          return this;
      }
      public AttachmentCriteria andSuffixEqualTo(java.lang.String value) {
          addCriterion("suffix", value, ConditionMode.EQUAL, "suffix", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andSuffixNotEqualTo(java.lang.String value) {
          addCriterion("suffix", value, ConditionMode.NOT_EQUAL, "suffix", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andSuffixGreaterThan(java.lang.String value) {
          addCriterion("suffix", value, ConditionMode.GREATER_THEN, "suffix", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andSuffixGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("suffix", value, ConditionMode.GREATER_EQUAL, "suffix", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andSuffixLessThan(java.lang.String value) {
          addCriterion("suffix", value, ConditionMode.LESS_THEN, "suffix", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andSuffixLessThanOrEqualTo(java.lang.String value) {
          addCriterion("suffix", value, ConditionMode.LESS_EQUAL, "suffix", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andSuffixBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("suffix", value1, value2, ConditionMode.BETWEEN, "suffix", "java.lang.String", "String");
    	  return this;
      }

      public AttachmentCriteria andSuffixNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("suffix", value1, value2, ConditionMode.NOT_BETWEEN, "suffix", "java.lang.String", "String");
          return this;
      }
        
      public AttachmentCriteria andSuffixIn(List<java.lang.String> values) {
          addCriterion("suffix", values, ConditionMode.IN, "suffix", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andSuffixNotIn(List<java.lang.String> values) {
          addCriterion("suffix", values, ConditionMode.NOT_IN, "suffix", "java.lang.String", "String");
          return this;
      }
	public AttachmentCriteria andTypeIsNull() {
		isnull("type");
		return this;
	}
	
	public AttachmentCriteria andTypeIsNotNull() {
		notNull("type");
		return this;
	}
	
	public AttachmentCriteria andTypeIsEmpty() {
		empty("type");
		return this;
	}

	public AttachmentCriteria andTypeIsNotEmpty() {
		notEmpty("type");
		return this;
	}
        public AttachmentCriteria andTypeLike(java.lang.String value) {
    	   addCriterion("type", value, ConditionMode.FUZZY, "type", "java.lang.String", "String");
    	   return this;
      }

      public AttachmentCriteria andTypeNotLike(java.lang.String value) {
          addCriterion("type", value, ConditionMode.NOT_FUZZY, "type", "java.lang.String", "String");
          return this;
      }
      public AttachmentCriteria andTypeEqualTo(java.lang.String value) {
          addCriterion("type", value, ConditionMode.EQUAL, "type", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTypeNotEqualTo(java.lang.String value) {
          addCriterion("type", value, ConditionMode.NOT_EQUAL, "type", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTypeGreaterThan(java.lang.String value) {
          addCriterion("type", value, ConditionMode.GREATER_THEN, "type", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTypeGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("type", value, ConditionMode.GREATER_EQUAL, "type", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTypeLessThan(java.lang.String value) {
          addCriterion("type", value, ConditionMode.LESS_THEN, "type", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTypeLessThanOrEqualTo(java.lang.String value) {
          addCriterion("type", value, ConditionMode.LESS_EQUAL, "type", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTypeBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("type", value1, value2, ConditionMode.BETWEEN, "type", "java.lang.String", "String");
    	  return this;
      }

      public AttachmentCriteria andTypeNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("type", value1, value2, ConditionMode.NOT_BETWEEN, "type", "java.lang.String", "String");
          return this;
      }
        
      public AttachmentCriteria andTypeIn(List<java.lang.String> values) {
          addCriterion("type", values, ConditionMode.IN, "type", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andTypeNotIn(List<java.lang.String> values) {
          addCriterion("type", values, ConditionMode.NOT_IN, "type", "java.lang.String", "String");
          return this;
      }
	public AttachmentCriteria andFlagIsNull() {
		isnull("flag");
		return this;
	}
	
	public AttachmentCriteria andFlagIsNotNull() {
		notNull("flag");
		return this;
	}
	
	public AttachmentCriteria andFlagIsEmpty() {
		empty("flag");
		return this;
	}

	public AttachmentCriteria andFlagIsNotEmpty() {
		notEmpty("flag");
		return this;
	}
        public AttachmentCriteria andFlagLike(java.lang.String value) {
    	   addCriterion("flag", value, ConditionMode.FUZZY, "flag", "java.lang.String", "String");
    	   return this;
      }

      public AttachmentCriteria andFlagNotLike(java.lang.String value) {
          addCriterion("flag", value, ConditionMode.NOT_FUZZY, "flag", "java.lang.String", "String");
          return this;
      }
      public AttachmentCriteria andFlagEqualTo(java.lang.String value) {
          addCriterion("flag", value, ConditionMode.EQUAL, "flag", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andFlagNotEqualTo(java.lang.String value) {
          addCriterion("flag", value, ConditionMode.NOT_EQUAL, "flag", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andFlagGreaterThan(java.lang.String value) {
          addCriterion("flag", value, ConditionMode.GREATER_THEN, "flag", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andFlagGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("flag", value, ConditionMode.GREATER_EQUAL, "flag", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andFlagLessThan(java.lang.String value) {
          addCriterion("flag", value, ConditionMode.LESS_THEN, "flag", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andFlagLessThanOrEqualTo(java.lang.String value) {
          addCriterion("flag", value, ConditionMode.LESS_EQUAL, "flag", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andFlagBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("flag", value1, value2, ConditionMode.BETWEEN, "flag", "java.lang.String", "String");
    	  return this;
      }

      public AttachmentCriteria andFlagNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("flag", value1, value2, ConditionMode.NOT_BETWEEN, "flag", "java.lang.String", "String");
          return this;
      }
        
      public AttachmentCriteria andFlagIn(List<java.lang.String> values) {
          addCriterion("flag", values, ConditionMode.IN, "flag", "java.lang.String", "String");
          return this;
      }

      public AttachmentCriteria andFlagNotIn(List<java.lang.String> values) {
          addCriterion("flag", values, ConditionMode.NOT_IN, "flag", "java.lang.String", "String");
          return this;
      }
	public AttachmentCriteria andOrderNumberIsNull() {
		isnull("order_number");
		return this;
	}
	
	public AttachmentCriteria andOrderNumberIsNotNull() {
		notNull("order_number");
		return this;
	}
	
	public AttachmentCriteria andOrderNumberIsEmpty() {
		empty("order_number");
		return this;
	}

	public AttachmentCriteria andOrderNumberIsNotEmpty() {
		notEmpty("order_number");
		return this;
	}
       public AttachmentCriteria andOrderNumberEqualTo(java.lang.Integer value) {
          addCriterion("order_number", value, ConditionMode.EQUAL, "orderNumber", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andOrderNumberNotEqualTo(java.lang.Integer value) {
          addCriterion("order_number", value, ConditionMode.NOT_EQUAL, "orderNumber", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andOrderNumberGreaterThan(java.lang.Integer value) {
          addCriterion("order_number", value, ConditionMode.GREATER_THEN, "orderNumber", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andOrderNumberGreaterThanOrEqualTo(java.lang.Integer value) {
          addCriterion("order_number", value, ConditionMode.GREATER_EQUAL, "orderNumber", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andOrderNumberLessThan(java.lang.Integer value) {
          addCriterion("order_number", value, ConditionMode.LESS_THEN, "orderNumber", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andOrderNumberLessThanOrEqualTo(java.lang.Integer value) {
          addCriterion("order_number", value, ConditionMode.LESS_EQUAL, "orderNumber", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andOrderNumberBetween(java.lang.Integer value1, java.lang.Integer value2) {
    	  addCriterion("order_number", value1, value2, ConditionMode.BETWEEN, "orderNumber", "java.lang.Integer", "Float");
    	  return this;
      }

      public AttachmentCriteria andOrderNumberNotBetween(java.lang.Integer value1, java.lang.Integer value2) {
          addCriterion("order_number", value1, value2, ConditionMode.NOT_BETWEEN, "orderNumber", "java.lang.Integer", "Float");
          return this;
      }
        
      public AttachmentCriteria andOrderNumberIn(List<java.lang.Integer> values) {
          addCriterion("order_number", values, ConditionMode.IN, "orderNumber", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andOrderNumberNotIn(List<java.lang.Integer> values) {
          addCriterion("order_number", values, ConditionMode.NOT_IN, "orderNumber", "java.lang.Integer", "Float");
          return this;
      }
	public AttachmentCriteria andAccessibleIsNull() {
		isnull("accessible");
		return this;
	}
	
	public AttachmentCriteria andAccessibleIsNotNull() {
		notNull("accessible");
		return this;
	}
	
	public AttachmentCriteria andAccessibleIsEmpty() {
		empty("accessible");
		return this;
	}

	public AttachmentCriteria andAccessibleIsNotEmpty() {
		notEmpty("accessible");
		return this;
	}
       public AttachmentCriteria andAccessibleEqualTo(java.lang.Integer value) {
          addCriterion("accessible", value, ConditionMode.EQUAL, "accessible", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andAccessibleNotEqualTo(java.lang.Integer value) {
          addCriterion("accessible", value, ConditionMode.NOT_EQUAL, "accessible", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andAccessibleGreaterThan(java.lang.Integer value) {
          addCriterion("accessible", value, ConditionMode.GREATER_THEN, "accessible", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andAccessibleGreaterThanOrEqualTo(java.lang.Integer value) {
          addCriterion("accessible", value, ConditionMode.GREATER_EQUAL, "accessible", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andAccessibleLessThan(java.lang.Integer value) {
          addCriterion("accessible", value, ConditionMode.LESS_THEN, "accessible", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andAccessibleLessThanOrEqualTo(java.lang.Integer value) {
          addCriterion("accessible", value, ConditionMode.LESS_EQUAL, "accessible", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andAccessibleBetween(java.lang.Integer value1, java.lang.Integer value2) {
    	  addCriterion("accessible", value1, value2, ConditionMode.BETWEEN, "accessible", "java.lang.Integer", "Float");
    	  return this;
      }

      public AttachmentCriteria andAccessibleNotBetween(java.lang.Integer value1, java.lang.Integer value2) {
          addCriterion("accessible", value1, value2, ConditionMode.NOT_BETWEEN, "accessible", "java.lang.Integer", "Float");
          return this;
      }
        
      public AttachmentCriteria andAccessibleIn(List<java.lang.Integer> values) {
          addCriterion("accessible", values, ConditionMode.IN, "accessible", "java.lang.Integer", "Float");
          return this;
      }

      public AttachmentCriteria andAccessibleNotIn(List<java.lang.Integer> values) {
          addCriterion("accessible", values, ConditionMode.NOT_IN, "accessible", "java.lang.Integer", "Float");
          return this;
      }
	public AttachmentCriteria andCreatedIsNull() {
		isnull("created");
		return this;
	}
	
	public AttachmentCriteria andCreatedIsNotNull() {
		notNull("created");
		return this;
	}
	
	public AttachmentCriteria andCreatedIsEmpty() {
		empty("created");
		return this;
	}

	public AttachmentCriteria andCreatedIsNotEmpty() {
		notEmpty("created");
		return this;
	}
       public AttachmentCriteria andCreatedEqualTo(java.util.Date value) {
          addCriterion("created", value, ConditionMode.EQUAL, "created", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andCreatedNotEqualTo(java.util.Date value) {
          addCriterion("created", value, ConditionMode.NOT_EQUAL, "created", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andCreatedGreaterThan(java.util.Date value) {
          addCriterion("created", value, ConditionMode.GREATER_THEN, "created", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andCreatedGreaterThanOrEqualTo(java.util.Date value) {
          addCriterion("created", value, ConditionMode.GREATER_EQUAL, "created", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andCreatedLessThan(java.util.Date value) {
          addCriterion("created", value, ConditionMode.LESS_THEN, "created", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andCreatedLessThanOrEqualTo(java.util.Date value) {
          addCriterion("created", value, ConditionMode.LESS_EQUAL, "created", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andCreatedBetween(java.util.Date value1, java.util.Date value2) {
    	  addCriterion("created", value1, value2, ConditionMode.BETWEEN, "created", "java.util.Date", "String");
    	  return this;
      }

      public AttachmentCriteria andCreatedNotBetween(java.util.Date value1, java.util.Date value2) {
          addCriterion("created", value1, value2, ConditionMode.NOT_BETWEEN, "created", "java.util.Date", "String");
          return this;
      }
        
      public AttachmentCriteria andCreatedIn(List<java.util.Date> values) {
          addCriterion("created", values, ConditionMode.IN, "created", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andCreatedNotIn(List<java.util.Date> values) {
          addCriterion("created", values, ConditionMode.NOT_IN, "created", "java.util.Date", "String");
          return this;
      }
	public AttachmentCriteria andModifiedIsNull() {
		isnull("modified");
		return this;
	}
	
	public AttachmentCriteria andModifiedIsNotNull() {
		notNull("modified");
		return this;
	}
	
	public AttachmentCriteria andModifiedIsEmpty() {
		empty("modified");
		return this;
	}

	public AttachmentCriteria andModifiedIsNotEmpty() {
		notEmpty("modified");
		return this;
	}
       public AttachmentCriteria andModifiedEqualTo(java.util.Date value) {
          addCriterion("modified", value, ConditionMode.EQUAL, "modified", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andModifiedNotEqualTo(java.util.Date value) {
          addCriterion("modified", value, ConditionMode.NOT_EQUAL, "modified", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andModifiedGreaterThan(java.util.Date value) {
          addCriterion("modified", value, ConditionMode.GREATER_THEN, "modified", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andModifiedGreaterThanOrEqualTo(java.util.Date value) {
          addCriterion("modified", value, ConditionMode.GREATER_EQUAL, "modified", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andModifiedLessThan(java.util.Date value) {
          addCriterion("modified", value, ConditionMode.LESS_THEN, "modified", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andModifiedLessThanOrEqualTo(java.util.Date value) {
          addCriterion("modified", value, ConditionMode.LESS_EQUAL, "modified", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andModifiedBetween(java.util.Date value1, java.util.Date value2) {
    	  addCriterion("modified", value1, value2, ConditionMode.BETWEEN, "modified", "java.util.Date", "String");
    	  return this;
      }

      public AttachmentCriteria andModifiedNotBetween(java.util.Date value1, java.util.Date value2) {
          addCriterion("modified", value1, value2, ConditionMode.NOT_BETWEEN, "modified", "java.util.Date", "String");
          return this;
      }
        
      public AttachmentCriteria andModifiedIn(List<java.util.Date> values) {
          addCriterion("modified", values, ConditionMode.IN, "modified", "java.util.Date", "String");
          return this;
      }

      public AttachmentCriteria andModifiedNotIn(List<java.util.Date> values) {
          addCriterion("modified", values, ConditionMode.NOT_IN, "modified", "java.util.Date", "String");
          return this;
      }
}